home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / gfx / daggex / docs / clients / xfig / xfig.doc < prev   
Encoding:
Text File  |  1994-06-04  |  69.9 KB  |  1,453 lines

  1.  
  2.  
  3.  
  4.          XFIG(1)                                                   XFIG(1)
  5.  
  6.  
  7.          NNAAMMEE
  8.                 xfig  -  Facility  for  Interactive  Generation of figures
  9.                 under X11
  10.  
  11.          SSYYNNOOPPSSIISS
  12.                 xxffiigg [_o_p_t_i_o_n_s] [_f_i_l_e]
  13.  
  14.          DDEESSCCRRIIPPTTIIOONN
  15.                 _X_f_i_g is a menu-driven tool that allows the  user  to  draw
  16.                 and  manipulate  objects interactively in an X window.  IItt
  17.                 rruunnss uunnddeerr XX vveerrssiioonn 1111 rreelleeaassee 44 oorr hhiigghheerr and requires a
  18.                 three-button  mouse.  _f_i_l_e specifies the name of a file to
  19.                 be edited. The description of objects in the file will  be
  20.                 read at the start of _x_f_i_g.
  21.  
  22.                 The  _T_r_a_n_s_F_i_g  package  is  used  to print the output from
  23.                 _x_f_i_g.
  24.  
  25.                 Note for previous _x_f_i_g users:
  26.  
  27.                 The _f_2_p and _f_2_p_s translators have been phased out  because
  28.                 the  _T_r_a_n_s_F_i_g  package  from  Micah Beck is a more general
  29.                 purpose  translator  for  more  graphics  languages.   The
  30.                 _T_r_a_n_s_F_i_g  package  can  be used as a back-end processor to
  31.                 xfig to produce various types of output:
  32.  
  33.                 LaTeX -     _f_i_g_2_d_e_v _-_L _l_a_t_e_x translates _x_f_i_g to _L_a_T_e_X pic-
  34.                             ture  environment  commands  which can be pro-
  35.                             cessed along with other _L_a_T_e_X commands.
  36.  
  37.                 Postscript -
  38.                             _f_i_g_2_d_e_v _-_L _p_s produces a postscript output.
  39.  
  40.                 Pic -       _f_i_g_2_d_e_v _-_L _p_i_c produces a pic output.
  41.  
  42.                 PiCTeX -    _f_i_g_2_d_e_v  _-_L  _p_i_c_t_e_x  produces  _P_i_C_T_e_X  output.
  43.                             This contains macros that can be used with the
  44.                             _P_i_C_T_e_X environment under _T_e_X or _L_a_T_e_X_.
  45.  
  46.                 Others -    _f_i_g_2_d_e_v has options for these other languages:
  47.                             _b_o_x, _e_p_i_c, _e_e_p_i_c, and _e_e_p_i_c_e_m_u.
  48.  
  49.                 The  _T_r_a_n_s_F_i_g  package  is  available from the contributed
  50.                 software on the distribution tapes of X11 Release  5  from
  51.                 MIT  and  from ftp.cs.cornell.edu (directory /pub/fig) and
  52.                 sun.soe.clarkson.edu (directory /pub/transfig) via  anony-
  53.                 mous  ftp.  It is also available by mail from the Clarkson
  54.                 archive server.  To find out about using the server,  send
  55.                 the     one-line     message     "help"     to    archive-
  56.                 server@sun.soe.clarkson.edu.
  57.  
  58.          OOPPTTIIOONNSS
  59.                 --rrii[[gghhtt]]
  60.                        Change the position of the side panel window to the
  61.  
  62.  
  63.  
  64.                              Release 2.1 (Protocol 2.1)                  1
  65.  
  66.  
  67.  
  68.  
  69.  
  70.          XFIG(1)                                                   XFIG(1)
  71.  
  72.  
  73.                        right of the canvas window (default: left).
  74.  
  75.                 --llee[[fftt]]
  76.                        Change the position of the side panel window to the
  77.                        left of the canvas window.
  78.  
  79.                 --LL[[aannddssccaappee]]
  80.                        Make _x_f_i_g come up in landscape  mode  (10"  x  8").
  81.                        This is the default.
  82.  
  83.                 --PP[[oorrttrraaiitt]]
  84.                        Make _x_f_i_g come up in portrait mode (8" x 9").
  85.  
  86.                 --ppww[[iiddtthh]] _u_n_i_t_s
  87.                        Make  _x_f_i_g  come  up  _u_n_i_t_s  wide  (where units are
  88.                        either cm or in).
  89.  
  90.                 --pphh[[eeiigghhtt]] _u_n_i_t_s
  91.                        Make _x_f_i_g come  up  _u_n_i_t_s  high  (where  units  are
  92.                        either cm or in).
  93.  
  94.                 --ttrr[[aacckk]]
  95.                        Turn on cursor (mouse) tracking arrows (default).
  96.  
  97.                 --nnoott[[rraacckk]]
  98.                        Turn off cursor (mouse) tracking arrows.
  99.  
  100.                 --iinncc[[hheess]]
  101.                        Make inches the unit of choice (default).
  102.  
  103.                 --mmee[[ttrriicc]]
  104.                        Make centimeters the unit of choice.
  105.  
  106.                 --iinnvv[[vveerrssee]]
  107.                        Use inverse video (white on black).
  108.  
  109.                 --ddee[[bbuugg]]
  110.                        Turn on debugging mode.
  111.  
  112.                 --nnoorr[[mmaall]] _f_o_n_t
  113.                        Cause the font used for the message panel and ruler
  114.                        numbers to be _f_o_n_t.  This font is also used on  the
  115.                        canvas  when  the selected font is not available in
  116.                        an X11 font (default = fixed).
  117.  
  118.                 --bbuu[[ttttoonn]] _f_o_n_t
  119.                        Cause the font used for most  buttons  to  be  _f_o_n_t
  120.                        (default = 6x13).
  121.  
  122.                 --bbooll[[dd]] _f_o_n_t
  123.                        Cause  the  font  used  for displaying confirmation
  124.                        messages to be _f_o_n_t (default = 8x13bold).
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                              Release 2.1 (Protocol 2.1)                  2
  131.  
  132.  
  133.  
  134.  
  135.  
  136.          XFIG(1)                                                   XFIG(1)
  137.  
  138.  
  139.                 --ssttaarrttff[[oonnttssiizzee]] _p_o_i_n_t_s_i_z_e
  140.                        Set the default font size for text objects (default
  141.                        = 12pt).
  142.  
  143.                 --sshh[[oowwaallllbbuuttttoonnss]]
  144.                        Show all the xfig indicator buttons instead of only
  145.                        those relevant to the current drawing  mode.   Nor-
  146.                        mally,  the  buttons  _l_i_n_e  _w_i_d_t_h,  _a_r_e_a_-_f_i_l_l, _g_r_i_d
  147.                        _m_o_d_e, _t_e_x_t _s_i_z_e, etc. are only  visible  when  they
  148.                        are  relevant  to  the  current  drawing mode.  The
  149.                        --sshhoowwaallllbbuuttttoonnss option makes all of  the  indicator
  150.                        buttons  visible  at all times.  This takes up more
  151.                        screen real estate, but allows the user to see  all
  152.                        settable parameters.
  153.  
  154.                 --iinntteerrnnaallBBWW _w_i_d_t_h
  155.                        Use  lines  of  width _w_i_d_t_h between all buttons and
  156.                        panels (default = 1).
  157.  
  158.          GGRRAAPPHHIICCAALL OOBBJJEECCTTSS
  159.                 The objects in _x_f_i_g are divided into pprriimmiittiivvee oobbjjeeccttss and
  160.                 ccoommppoouunndd  oobbjjeeccttss. The primitive objects are: _A_R_C, _C_I_R_C_L_E,
  161.                 _C_L_O_S_E_D _S_P_L_I_N_E, _E_L_L_I_P_S_E,  _P_O_L_Y_L_I_N_E,  _P_O_L_Y_G_O_N,  _E_N_C_A_P_S_U_L_A_T_E_D
  162.                 _P_O_S_T_S_C_R_I_P_T, _B_O_X, _A_R_C_-_B_O_X, _S_P_L_I_N_E, and _T_E_X_T.
  163.  
  164.                 A  primitive  object can be moved, rotated, flipped verti-
  165.                 cally or horizontally, scaled, copied,  aligned  within  a
  166.                 compound  object  or erased.  The TEXT primitive cannot be
  167.                 rotated (on-screen) or flipped.   The  attributes  of  any
  168.                 primitive  object  can be edited using a popup panel (dis-
  169.                 cussed below), so you can, for instance, set the  rotation
  170.                 angle for printed TEXT primitives.
  171.  
  172.                 A  compound  object  is composed of primitive objects. The
  173.                 primitive objects that constitute a compound  can  not  be
  174.                 individually  modified,  but they can be manipulated as an
  175.                 entity; a compound can be moved, rotated,  flipped  verti-
  176.                 cally or horizontally, scaled, copied or erased.
  177.  
  178.                 _R_e_g_u_l_a_r  polygons  may  be created using a special drawing
  179.                 mode, but a general _P_O_L_Y_G_O_N is created as a result,  which
  180.                 may then be modified, i.e.  the individual vertices may be
  181.                 moved if desired.
  182.  
  183.          DDIISSPPLLAAYY WWIINNDDOOWWSS
  184.                 Nine regions comprise the display area of _x_f_i_g:  the  com-
  185.                 mand  region,  top ruler, side ruler, drawing mode region,
  186.                 editing mode region, message region, indicator region with
  187.                 buttons  to  set  and  show  current  line thickness, line
  188.                 style, area-fill gray color and  several  other  settings,
  189.                 mouse  function  indicator region and canvas region.  (The
  190.                 mouse function indicator region was inspired  by  the  UPS
  191.                 debugger  from  the  University of Kent.)  The drawing and
  192.                 editing mode regions may be placed (together) to the  left
  193.  
  194.  
  195.  
  196.                              Release 2.1 (Protocol 2.1)                  3
  197.  
  198.  
  199.  
  200.  
  201.  
  202.          XFIG(1)                                                   XFIG(1)
  203.  
  204.  
  205.                 or right of the the canvas window (default: left).
  206.  
  207.          CCOOMMMMAANNDD PPAANNEELL FFUUNNCCTTIIOONNSS
  208.                 _Q_u_i_t   Exit  from _x_f_i_g, discarding the figure. If the fig-
  209.                        ure has been modified and not saved, the user  will
  210.                        be  asked  to  confirm  the action, by clicking the
  211.                        _l_e_f_t button on a confirm/cancel popup menu.
  212.  
  213.                 _D_e_l_e_t_e _A_L_L
  214.                        Delete all objects from the canvas window  (may  be
  215.                        undone).
  216.  
  217.                 _U_n_d_o   Undo  the last object creation, deletion or modifi-
  218.                        cation.
  219.  
  220.                 _R_e_d_r_a_w Redraw the canvas.
  221.  
  222.                 _P_a_s_t_e  Paste  the  object  previously  copied   into   the
  223.                        cut/paste  file  into  the  current  figure (at its
  224.                        original position).
  225.  
  226.                 _F_i_l_e   Left mouse button pops up  a  menu  which  contains
  227.                        several file-related functions:
  228.  
  229.  
  230.                      _D_i_r_e_c_t_o_r_y
  231.                             This  is an editable AsciiTextWidget which contains
  232.                             the current directory.
  233.  
  234.                      _F_i_l_e   This is an editable AsciiTextWidget which  contains
  235.                             the current filename.
  236.  
  237.                      _C_a_n_c_e_l This  pops  down  the file panel without making any
  238.                             changes to the directory or file name.
  239.  
  240.                      _S_a_v_e   Save the current contents of the canvas in the file
  241.                             specified  in  the  _F_i_l_e  menu  item.   If the file
  242.                             already  exists  a  confirmation  popup  menu  will
  243.                             appear  asking  the  user  to confirm or cancel the
  244.                             save.
  245.  
  246.                      _L_o_a_d   The current contents of the canvas are cleared  and
  247.                             the  figure  is read from the filename specified in
  248.                             the _F_i_l_e menu item.  This file will become the cur-
  249.                             rent file.
  250.  
  251.                      _M_e_r_g_e _R_e_a_d
  252.                             Read figure from the filename specified in the _F_i_l_e
  253.                             menu item and merge  it  with  the  figure  already
  254.                             shown on the canvas.  The filename in the _F_i_l_e will
  255.                             revert to the previous filename after this function
  256.                             is completed.
  257.  
  258.                      Right  mouse  button invokes _S_a_v_e function without popping
  259.  
  260.  
  261.  
  262.                                   Release 2.1 (Protocol 2.1)                  4
  263.  
  264.  
  265.  
  266.  
  267.  
  268.               XFIG(1)                                                   XFIG(1)
  269.  
  270.  
  271.                      up the file panel.
  272.  
  273.  
  274.                 _E_x_p_o_r_t Will let you export the figure to an output file in
  275.                        one  of several formats.  Left mouse button pops up
  276.                        a menu with several export-related functions:
  277.  
  278.  
  279.                      _M_a_g_n_i_f_i_c_a_t_i_o_n
  280.                             This is an editable AsciiTextWidget which  contains
  281.                             the magnification to use when translating figure to
  282.                             the output language.
  283.  
  284.                      _O_r_i_e_n_t_a_t_i_o_n
  285.                             This button  will  toggle  the  output  orientation
  286.                             between Landscape (horizontal) and Portrait (verti-
  287.                             cal).  The default orientation is the same  as  the
  288.                             mode that xfig was started with.
  289.  
  290.                      _L_a_n_g_u_a_g_e
  291.                             The  translation  language  to  use for xfig output
  292.                             when output is directed to a file.  The default  is
  293.                             Postscript.   The  figure  may  be  saved as an X11
  294.                             bitmap by choosing _X_b_i_t_m_a_p as the output  language.
  295.                             The  bitmap is created from the figure, the size of
  296.                             which is determined by the enclosing  rectangle  of
  297.                             all the figure plus a small border.
  298.  
  299.                      _D_e_f_a_u_l_t _O_u_t_p_u_t _F_i_l_e
  300.                             This  is  read-only  AsciiTextWidget which contains
  301.                             the filename that will be used to write output to a
  302.                             file  _i_f _t_h_e_r_e _i_s _n_o _n_a_m_e _s_p_e_c_i_f_i_e_d _i_n Output File.
  303.                             The default is the figure name  plus  an  extension
  304.                             that reflects the output language used.
  305.  
  306.                      _O_u_t_p_u_t _F_i_l_e
  307.                             This  is an editable AsciiTextWidget which contains
  308.                             the filename to use to write output to a file.
  309.  
  310.                      _C_a_n_c_e_l This button will pop down the  print  menu  without
  311.                             doing any print operation.
  312.  
  313.                      _E_x_p_o_r_t This button writes the figure to the file using the
  314.                             selected language.  If the file already  exists,  a
  315.                             confirmation  window  will popup to ask the user to
  316.                             confirm the write or cancel.
  317.  
  318.                      Right mouse button invokes _E_x_p_o_r_t function without popping
  319.                      up the export panel.
  320.  
  321.  
  322.                 _P_r_i_n_t  Left  mouse  button  pops  up  a  menu with several
  323.                        print-related functions:
  324.  
  325.  
  326.  
  327.  
  328.                              Release 2.1 (Protocol 2.1)                  5
  329.  
  330.  
  331.  
  332.  
  333.  
  334.          XFIG(1)                                                   XFIG(1)
  335.  
  336.  
  337.                      _M_a_g_n_i_f_i_c_a_t_i_o_n
  338.                             This is an AsciiTextWidget which contains the  mag-
  339.                             nification  to  use  when translating figure to the
  340.                             output language.
  341.  
  342.                      _O_r_i_e_n_t_a_t_i_o_n
  343.                             This button  will  toggle  the  output  orientation
  344.                             between Landscape (horizontal) and Portrait (verti-
  345.                             cal).  The default orientation is the same  as  the
  346.                             mode that xfig was started with.
  347.  
  348.                      _J_u_s_t_i_f_i_c_a_t_i_o_n
  349.                             This button will bring up a sub-menu from which you
  350.                             may choose _c_e_n_t_e_r or _f_l_u_s_h _l_e_f_t to justify the fig-
  351.                             ure on the page.  The default is _f_l_u_s_h _l_e_f_t.
  352.  
  353.                      _P_r_i_n_t_e_r
  354.                             This  is  an  AsciiTextWidget  which  contains  the
  355.                             printer to use if output is directed to a  printer.
  356.                             The  name  of  the  printer  may  be  set using the
  357.                             resource _*_p_r_i_n_t_e_r_*_s_t_r_i_n_g_:
  358.  
  359.                      _C_a_n_c_e_l This button will pop down the  print  menu  without
  360.                             doing any print operation.
  361.  
  362.                      _P_r_i_n_t  This  button sends the figure to the printer.  Note
  363.                             that the figure that is printed is what you see  on
  364.                             the canvas, not necessarily the figure file.  I.e.,
  365.                             if you haven't saved  the  figure  since  the  last
  366.                             changes,  the  figure  from  the canvas is printed.
  367.                             _X_f_i_g writes the figure to a temporary  file  to  do
  368.                             this.   The name of the file is //ttmmpp//xxffiigg--pprriinntt_P_I_D,
  369.                             where _P_I_D is the process ID of _x_f_i_g.
  370.  
  371.                      Right mouse button invokes _P_r_i_n_t function without  popping
  372.                      up the print panel.
  373.  
  374.  
  375.  
  376.          IINNDDIICCAATTOORR PPAANNEELL CCOOMMMMAANNDD DDEESSCCRRIIPPTTIIOONNSS
  377.                 The  indicator panel contains buttons to set certain draw-
  378.                 ing parameters, such as line thickness, canvas grid, rota-
  379.                 tion  angle  etc.   All  of the buttons use the same mouse
  380.                 buttons for setting values.  Pressing the _l_e_f_t mouse  but-
  381.                 ton on the indicator will pop up a panel in which either a
  382.                 value may be typed (e.g. for  a  line  thickness)  or  the
  383.                 mouse  may  be clicked on one of several buttons (e.g. for
  384.                 grid style or font name).
  385.  
  386.                 Pressing the _m_i_d_d_l_e mouse  button  on  an  indicator  will
  387.                 decrement  the  value  (e.g.  for line thickness) or cycle
  388.                 through the options in one direction  (e.g.  font  names),
  389.                 while  pressing  the _r_i_g_h_t mouse button will increment the
  390.                 value or cycle through the options in the other direction.
  391.  
  392.  
  393.  
  394.                              Release 2.1 (Protocol 2.1)                  6
  395.  
  396.  
  397.  
  398.  
  399.  
  400.          XFIG(1)                                                   XFIG(1)
  401.  
  402.  
  403.                 _Z_O_O_M _S_C_A_L_E
  404.                        The      canvas      zoom      scale     may     be
  405.                        set/increased/decreased  with  this  button.    The
  406.                        integer  zoom  scale  is  displayed within the zoom
  407.                        button. Ruler, grid and linewidth are scaled,  too.
  408.  
  409.                 _R_O_T_A_T_I_O_N _A_N_G_L_E
  410.                        The  rotation  angle  for  rotating  objects may be
  411.                        set/increased/decreased  with  this  button.   Note
  412.                        that  not  all  objects may be rotated, and certain
  413.                        objects may only  be  rotated  by  certain  angles.
  414.                        Pressing   the   _m_i_d_d_l_e   or   _r_i_g_h_t   button  will
  415.                        decrease(increase)  the  angle  in  steps   of   15
  416.                        degrees.   To  select  other angles, press the _l_e_f_t
  417.                        button and enter the angle in the popup menu.
  418.  
  419.                 _N_U_M_B_E_R _O_F _P_O_L_Y_G_O_N _S_I_D_E_S
  420.                        The number of sides  used  in  creating  a  _R_E_G_U_L_A_R
  421.                        _P_O_L_Y_G_O_N is set with this button.
  422.  
  423.                 _G_R_I_D _M_O_D_E
  424.                        With  this  button the user may select no grid, 1/4
  425.                        inch (5mm in metric mode) grid or 1/2  inch  (10mm)
  426.                        grid.
  427.  
  428.                 _P_O_I_N_T _P_O_S_I_T_I_O_N
  429.                        This  button  controls  the  coarseness  of  object
  430.                        placement on the canvas.  The options are arbitrary
  431.                        placement, 1/16 inch (2mm in metric mode), 1/4 inch
  432.                        (5mm) or 1/2 inch (10mm).  This allows the user  to
  433.                        easily  place  objects  in  horizontal  or vertical
  434.                        alignment.
  435.  
  436.                        This also restricts which objects  may  be  "picked
  437.                        up"  by  the mouse when editing.  If a corner of an
  438.                        object is not positioned on the canvas on a  multi-
  439.                        ple of the point positioning resolution you may not
  440.                        be able to pick  it.   If  this  happens,  a  black
  441.                        square will temporarily appear above the mouse cur-
  442.                        sor.  This square will also appear anytime the user
  443.                        tries to pick a nonexistent object.
  444.  
  445.                 _V_E_R_T_I_C_A_L _A_L_I_G_N
  446.                        This sets the vertical alignment mode for the _A_L_I_G_N
  447.                        button in the editing mode panel.  The choices  are
  448.                        no vertical alignment, align to top edge, middle or
  449.                        bottom edge of compound.  The _H_O_R_I_Z_O_N_T_A_L _A_L_I_G_N  and
  450.                        _V_E_R_T_I_C_A_L _A_L_I_G_N indicator settings are used together
  451.                        to align objects inside a compound.
  452.  
  453.                 _H_O_R_I_Z_O_N_T_A_L _A_L_I_G_N
  454.                        This sets the horizontal  alignment  mode  for  the
  455.                        _A_L_I_G_N  button  in  the  editing  mode  panel.   The
  456.                        choices are no horizontal alignment, align to  left
  457.  
  458.  
  459.  
  460.                              Release 2.1 (Protocol 2.1)                  7
  461.  
  462.  
  463.  
  464.  
  465.  
  466.          XFIG(1)                                                   XFIG(1)
  467.  
  468.  
  469.                        edge,  middle or right edge of compound.  The _H_O_R_I_-
  470.                        _Z_O_N_T_A_L _A_L_I_G_N and _V_E_R_T_I_C_A_L _A_L_I_G_N indicator  settings
  471.                        are  used  together  to align objects inside a com-
  472.                        pound.
  473.  
  474.                 _A_N_G_L_E _G_E_O_M_E_T_R_Y
  475.                        The following settings are  available  to  restrict
  476.                        the  drawing  angle  of line segments in _P_O_L_Y_L_I_N_E_S,
  477.                             _P_O_L_Y_G_O_N_S and _S_P_L_I_N_E_S.
  478.  
  479.                      _U_N_R_E_S_T_R_I_C_T_E_D
  480.                             Allow lines to be drawn with any slope.
  481.  
  482.                      _L_A_T_E_X _L_I_N_E
  483.                             Allow lines to be drawn only at slopes which can be
  484.                             handled by _L_a_T_e_X picture environment lines: slope =
  485.                             x/y, where x,y are integers in the range [-6,6].
  486.  
  487.                      _L_A_T_E_X _V_E_C_T_O_R
  488.                             Allow lines to be drawn only at slopes which can be
  489.                             handled by _L_a_T_e_X picture environment vectors: slope
  490.                             = x/y, where x,y are integers in the range  [-4,4].
  491.  
  492.                      _M_A_N_H_A_T_T_A_N_-_M_O_U_N_T_A_I_N
  493.                             Allow lines to be drawn in the horizontal, vertical
  494.                             or diagonal direction only.
  495.  
  496.                      _M_A_N_H_A_T_T_A_N
  497.                             Enforce drawing of lines in the horizontal and ver-
  498.                             tical direction only.
  499.  
  500.                      _M_O_U_N_T_A_I_N
  501.                             Enforce drawing of only diagonal lines.
  502.  
  503.  
  504.                 _A_R_E_A _F_I_L_L
  505.                        This button allows the user to select the area fill
  506.                        darkness (grey scale) for all objects  except  _T_E_X_T
  507.                        and  _E_N_C_A_P_S_U_L_A_T_E_D  _P_O_S_T_S_C_R_I_P_T,  or to turn off area
  508.                        fill altogether.
  509.  
  510.                 _L_I_N_E _W_I_D_T_H
  511.                        The width of lines may be selected with  this  but-
  512.                        ton.  Zero width lines may be drawn for the purpose
  513.                        of having filled areas without outlines.
  514.  
  515.                 _L_I_N_E _S_T_Y_L_E
  516.                        The choices for line style are  solid,  dashed  and
  517.                        dotted.   Once created, a dashed or dotted line may
  518.                        be edited to change the length  of  dashes  or  the
  519.                        spacing  of dots respectively.  The dash length and
  520.                        dot gap can be changed from the default  using  the
  521.                        popup menu.
  522.  
  523.  
  524.  
  525.  
  526.                              Release 2.1 (Protocol 2.1)                  8
  527.  
  528.  
  529.  
  530.  
  531.  
  532.          XFIG(1)                                                   XFIG(1)
  533.  
  534.  
  535.                 _B_O_X _C_U_R_V_E
  536.                        The radius of the corners on _A_R_C_-_B_O_X objects may be
  537.                        set with this button.
  538.  
  539.                 _A_R_R_O_W _M_O_D_E
  540.                        This button selects the auto-arrow mode for drawing
  541.                        lines.   The  options are no arrow heads, backward-
  542.                        pointing arrow head, forward-pointing arrow head or
  543.                        both.   If  one or both arrow head modes are turned
  544.                        on, then arrow heads are automatically  drawn  when
  545.                        drawing _P_O_L_Y_L_I_N_E, _S_P_L_I_N_E or _A_R_C objects.
  546.  
  547.                 _T_E_X_T _J_U_S_T_I_F_I_C_A_T_I_O_N
  548.                        The  adjustment  of text may be set to _l_e_f_t, _c_e_n_t_e_r
  549.                        or _r_i_g_h_t _j_u_s_t_i_f_i_c_a_t_i_o_n.
  550.  
  551.                 _T_E_X_T _S_I_Z_E
  552.                        The text size may be  set/increased/decreased  with
  553.                        this button.
  554.  
  555.                 _T_E_X_T _S_T_E_P
  556.                        The    interline    spacing    of   text   may   be
  557.                        set/increased/decreased with this button.  The num-
  558.                        ber displayed gives the multiple of the font height
  559.                        that  will  be  placed  between  lines  on  hitting
  560.                        _<_r_e_t_u_r_n_>.
  561.  
  562.                 _T_E_X_T _F_O_N_T
  563.                        This  button  allows a selection of 35 fonts avail-
  564.                        able for most Apple Postscript printers.  There are
  565.                        two  buttons  at  the  top of the menu.  The _c_a_n_c_e_l
  566.                        button pops down the menu without changing the cur-
  567.                        rent  font.   The  _u_s_e  _l_a_t_e_x _f_o_n_t_s will switch the
  568.                        menu to the _L_a_T_e_X font  choices.   When  the  _L_a_T_e_X
  569.                        font menu is up, besides a _c_a_n_c_e_l button there is a
  570.                        button to switch back to the Postscript fonts.
  571.  
  572.                        The name of the font is printed in the font  itself
  573.                        so  that one may see what that font looks like.  If
  574.                        a corresponding X11 font exists, new text  is  cre-
  575.                        ated  on the canvas using that font.  _x_f_i_g uses the
  576.                        size of X11 font closest to that  selected  by  the
  577.                        font  size  button.  If the X11 font doesn't exist,
  578.                        _x_f_i_g  uses  the  font  selected  by  the  "-normal"
  579.                        option.   To  abort  selection of a font, click the
  580.                        _l_e_f_t mouse button on _c_a_n_c_e_l.
  581.  
  582.  
  583.          DDRRAAWWIINNGG AANNDD EEDDIITTIINNGG MMOODDEE PPAANNEELLSS
  584.                 Icons in the drawing and editing mode panel windows repre-
  585.                 sent  object manipulation functions, modes and other draw-
  586.                 ing or  modification  aids.   Manipulation  functions  are
  587.                 selected  by  positioning  the cursor over it and clicking
  588.                 the _l_e_f_t mouse button.  The selected icon is  highlighted,
  589.  
  590.  
  591.  
  592.                              Release 2.1 (Protocol 2.1)                  9
  593.  
  594.  
  595.  
  596.  
  597.  
  598.          XFIG(1)                                                   XFIG(1)
  599.  
  600.  
  601.                 and  a message describing its function appears in the mes-
  602.                 sage window.
  603.  
  604.          DDRRAAWWIINNGG MMOODDEE PPAANNEELL CCOOMMMMAANNDD DDEESSCCRRIIPPTTIIOONNSS
  605.                 The drawing mode panel contains buttons used to create the
  606.                 various  xfig objects.  Once the drawing mode is selected,
  607.                 the object is created by moving the mouse to the point  on
  608.                 the  canvas  where the object is to be placed and pressing
  609.                 and releasing the _l_e_f_t button.  After that  the  mouse  is
  610.                 moved  to  the  second  point and the _l_e_f_t button is again
  611.                 pressed for the next point.  For those objects  which  may
  612.                 have  more  than two points (e.g. a line), the _l_e_f_t button
  613.                 may be pressed for each successive point, and  the  _m_i_d_d_l_e
  614.                 button  must be pressed to finish the object.  To create a
  615.                 single point using the _P_O_L_Y_L_I_N_E button, press and  release
  616.                 the  _m_i_d_d_l_e  button.   For  the _A_R_C object, which requires
  617.                 exactly three points the _l_e_f_t button is used for all three
  618.                 points.
  619.  
  620.                 At  any time the _r_i_g_h_t button may be pressed to cancel the
  621.                 creation of the object.
  622.  
  623.                 _A_R_C    Create an arc.  Specify three points using the _l_e_f_t
  624.                        button.
  625.  
  626.                 _B_O_X    Create  rectangular  boxes.   Start and finish with
  627.                        the _l_e_f_t button.
  628.  
  629.                 _A_R_C_-_B_O_X
  630.                        Create  rectangular  boxes  with  rounded  corners.
  631.                        Start  and finish with the _l_e_f_t button.  The radius
  632.                        of the corners is selected by the _B_O_X _C_U_R_V_E button.
  633.  
  634.                 _C_I_R_C_L_E Create  circles by specifying their radii or diame-
  635.                        ters.  Click the _l_e_f_t button on the center  of  the
  636.                        circle  and drag the mouse until the desired radius
  637.                        or diameter is attained.   Click  the  _l_e_f_t  button
  638.                        again to finish the circle.
  639.  
  640.                        Note:  if  xfig  has been compiled with the _-_D_F_A_S_T_-
  641.                        _S_E_R_V_E_R flag the circle will be drawn as the user is
  642.                        creating  it  (dragging  the  mouse).   Otherwise a
  643.                        rectangular outline will show the user the size  of
  644.                        the circle until the object is compete.
  645.  
  646.                 _E_L_L_I_P_S_E
  647.                        Create ellipses using the same procedure as for the
  648.                        drawing of circles.
  649.  
  650.                 _E_N_C_A_P_S_U_L_A_T_E_D _P_O_S_T_S_C_R_I_P_T _O_B_J_E_C_T _(_E_P_S_)
  651.                        Click the _l_e_f_t button on either the  upper-left  or
  652.                        lower-right corner for the _E_P_S object and finish by
  653.                        clicking the _l_e_f_t button again on the opposite cor-
  654.                        ner.  The _E_D_I_T popup panel will appear and the file
  655.  
  656.  
  657.  
  658.                              Release 2.1 (Protocol 2.1)                 10
  659.  
  660.  
  661.  
  662.  
  663.  
  664.          XFIG(1)                                                   XFIG(1)
  665.  
  666.  
  667.                        name of the  _E_P_S  object  may  be  entered.   After
  668.                        pressing  _D_O_N_E  or _A_P_P_L_Y the bitmap part of the _E_P_S
  669.                        object will appear in the box just created.  If  no
  670.                        _E_P_S  file is available yet or no name is entered or
  671.                        there is no _p_r_e_v_i_e_w _b_i_t_m_a_p in the _E_P_S file,  press-
  672.                        ing  _D_O_N_E will pop down the edit panel and the word
  673.                        _<_e_m_p_t_y_> or the _E_P_S file name will remain in the _E_P_S
  674.                        box.  Later, when the name of the _E_P_S file is known
  675.                        or the file is available, you may re-read  the  _E_P_S
  676.                        file using the popup edit panel and the bitmap part
  677.                        of the _E_P_S file will replace the name in the box.
  678.  
  679.                 _I_N_T_E_R_P_O_L_A_T_E_D _S_P_L_I_N_E
  680.                        Create (cubic spline) spline objects.   Enter  con-
  681.                        trol  vectors  in the same way as for creation of a
  682.                        _P_O_L_Y_L_I_N_E object.  At least three points  (two  con-
  683.                        trol  vectors)  must  be  entered.  The spline will
  684.                        pass through the entered points.
  685.  
  686.                 _P_O_L_Y_L_I_N_E
  687.                        Create  polylines  (line  segments   connecting   a
  688.                        sequence  of points).  Enter points by clicking the
  689.                        _l_e_f_t button at the desired positions on the  canvas
  690.                        window.  Click the _m_i_d_d_l_e button to finish.
  691.  
  692.                 _P_O_L_Y_G_O_N
  693.                        Same  as  _P_O_L_Y_L_I_N_E  except  that  a line segment is
  694.                        drawn connecting the first and last points entered.
  695.  
  696.                 _R_E_G_U_L_A_R _P_O_L_Y_G_O_N
  697.                        The  number of sides is first selected with the _N_U_M
  698.                        _S_I_D_E_S button in the indicator panel.  Then the _l_e_f_t
  699.                        button  is  clicked  on  the  center  and the mouse
  700.                        dragged to the desired size.   The  object  may  be
  701.                        rotated  as it is being created by moving the mouse
  702.                        up or down relative to the starting  point.   Click
  703.                        the _l_e_f_t button to finish.
  704.  
  705.                 _C_L_O_S_E_D _I_N_T_E_R_P_O_L_A_T_E_D _S_P_L_I_N_E
  706.                        Create closed or periodic splines.  The function is
  707.                        similar to _P_O_L_Y_G_O_N except that  a  closed  interpo-
  708.                        lated  spline  is  drawn.   The  spline  will  pass
  709.                        through the points (knots).
  710.  
  711.                 _C_L_O_S_E_D _S_P_L_I_N_E
  712.                        Create closed  or  periodic  spline  objects.   The
  713.                        function is similar to _P_O_L_Y_G_O_N except that a closed
  714.                        spline will  be  drawn  instead  of  polygon.   The
  715.                        entered  points  are just control points; i.e., the
  716.                        spline will not pass any of these points.
  717.  
  718.                 _S_P_L_I_N_E Create (quadratic spline)  spline  objects.   Enter
  719.                        control  vectors in the same way as for creation of
  720.                        a _P_O_L_Y_L_I_N_E object.   At  least  three  points  (two
  721.  
  722.  
  723.  
  724.                              Release 2.1 (Protocol 2.1)                 11
  725.  
  726.  
  727.  
  728.  
  729.  
  730.          XFIG(1)                                                   XFIG(1)
  731.  
  732.  
  733.                        control  vectors) must be entered.  The spline will
  734.                        only pass through the two end points.
  735.  
  736.                 _T_E_X_T   Create text strings. Click the _l_e_f_t button  at  the
  737.                        desired  position  on the canvas window, then enter
  738.                        text from the keyboard.  Text is  drawn  using  the
  739.                        current font, font size and justification settings.
  740.                        A DEL or ^H (backspace) will  delete  a  character,
  741.                        while  a ^U or ^X will erase the entire line.  Fin-
  742.                        ish by clicking the _m_i_d_d_l_e  button  or  typing  the
  743.                        _<_r_e_t_u_r_n_>  key.   If  _<_r_e_t_u_r_n_>  is  used,  the  text
  744.                        pointer automatically moves to the next  "line",  a
  745.                        distance  of the font height times the value in the
  746.                        TEXT STEP  button,  and  text  input  mode  is  re-
  747.                        entered.   To  finish  text fully, click the middle
  748.                        button or choose  any  panel  button  that  changes
  749.                        modes  (e.g.  box, save, etc).  To edit text, click
  750.                        on an existing text string with  the  _l_e_f_t  button.
  751.                        Insertion  of  characters  will  take place at that
  752.                        point.  Or, use the popup _E_D_I_T mode to  modify  the
  753.                        text.
  754.  
  755.  
  756.          EEDDIITTIINNGG MMOODDEE PPAANNEELL CCOOMMMMAANNDD DDEESSCCRRIIPPTTIIOONNSS
  757.                 When  a  button  in the editing mode panel is pressed, any
  758.                 objects that may be affected  by  that  editing  operation
  759.                 will show their corner markers.  Only those objects may be
  760.                 affected by the particular edit mode.  In cases where  two
  761.                 edit modes exist for one button, it may be that the corner
  762.                 markers will appear for objects that may  be  affected  by
  763.                 one button but not the other.
  764.  
  765.  
  766.                 SSEELLEECCTTIINNGG OOBBJJEECCTTSS
  767.                        When  multiple  objects have points in common, e.g.
  768.                        two boxes that touch at one corner, only one object
  769.                        can  be  selected  by  clicking  on  that point. To
  770.                        select other objects, hold down the shift key while
  771.                        pressing  the _l_e_f_t mouse button: the markers of one
  772.                        object will be highlighted.  By repeatedly clicking
  773.                        the  _l_e_f_t  button while holding down the shift key,
  774.                        it is possible to cycle through all candidates  for
  775.                        selection  at  that  point. To perform the selected
  776.                        action, e.g.  deleting one box, click on the  point
  777.                        without  holding down the shift key.  The operation
  778.                        will be performed on the highlighted object.
  779.  
  780.                        NNoottee:: If the mouse is not clicked near enough to an
  781.                        object  marker  or  for whatever reason _x_f_i_g cannot
  782.                        "find" the object the user is trying to  select,  a
  783.                        black  square  will  temporarily  appear  above the
  784.                        mouse cursor.
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                              Release 2.1 (Protocol 2.1)                 12
  791.  
  792.  
  793.  
  794.  
  795.  
  796.          XFIG(1)                                                   XFIG(1)
  797.  
  798.  
  799.                 _G_L_U_E _C_O_M_P_O_U_N_D
  800.                        Create a compound object by clicking the _l_e_f_t mouse
  801.                        button  near  the  upper-left  area to enclose then
  802.                        drag the mouse to the lower-right  area  and  click
  803.                        the  _l_e_f_t  button again.  The rubber-band rectangle
  804.                        will disappear and four corner markers will appear,
  805.                        marking the boundaries of the compound object.
  806.  
  807.                 _B_R_E_A_K _C_O_M_P_O_U_N_D
  808.                        Break  a  compound  object to allow manipulation of
  809.                        its component parts.  Click the _l_e_f_t button on  the
  810.                        one of the corner markers of the compound object or
  811.                        along one of the imaginary lines defining the  com-
  812.                        pound box.
  813.  
  814.                 _S_C_A_L_E _O_B_J_E_C_T
  815.                        Any  object  may  be scaled.  If the _l_e_f_t button is
  816.                        pressed on a  _B_O_X  or  _A_R_C_-_B_O_X  object,  then  that
  817.                        object  will be scaled proportionally to its aspect
  818.                        ratio.  If the _m_i_d_d_l_e  button  is  pressed  on  any
  819.                        object, that object will be scaled up or down about
  820.                        its center.  Text may only be scaled  if  inside  a
  821.                        compound  object and then only if its _R_I_G_I_D flag is
  822.                        set to _N_O_R_M_A_L (using the popup  edit  panel).   See
  823.                        the   _T_r_a_n_s_F_i_g   manual  for  description  of  text
  824.                        options.
  825.  
  826.                 _A_L_I_G_N  This button will align objects  inside  a  compound
  827.                        object  according  to  the  setting in the _V_E_R_T_I_C_A_L
  828.                        _A_L_I_G_N and _H_O_R_I_Z_O_N_T_A_L _A_L_I_G_N indicators.  The choices
  829.                        are  the  cumulative  effect of vertically aligning
  830.                        the objects to the _T_O_P, _M_I_D_D_LE or _B_O_T_T_OM  edge  and
  831.                        horizontally  aligning to the _L_E_FT, _M_I_D_D_LE or _R_I_G_HT
  832.                        edge of the compound.
  833.  
  834.                 _M_O_V_E _P_O_I_N_T
  835.                        Modify the position of a point of any object except
  836.                        _T_E_X_T  and _C_O_M_P_O_U_N_D objects.  For unrestrained move-
  837.                        ment, click the _l_e_f_t button over the desired point,
  838.                        reposition  the  point,  and  click the _l_e_f_t button
  839.                        again.  For horizontally or vertically  constrained
  840.                        move,  click the _m_i_d_d_l_e button on the desired point
  841.                        and move either horizontally or vertically.  Notice
  842.                        that  once  you choose the direction (horizontal or
  843.                        vertical), movement is constrained in  that  direc-
  844.                        tion.   If, after moving the mouse initially, it is
  845.                        moved in the other  direction  a  greater  distance
  846.                        than  the current position of the mouse relative to
  847.                        the starting point, then that will be the new  con-
  848.                        straint direction.  In otherwords if you first move
  849.                        the mouse _h_o_r_i_z_o_n_t_a_l_l_y one inch (say) then move  it
  850.                        _v_e_r_t_i_c_a_l_l_y 1.3 inches, the direction will switch to
  851.                        _v_e_r_t_i_c_a_l until any _h_o_r_i_z_o_n_t_a_l  motion  exceeds  1.3
  852.                        inches.    When  the  object  is  positioned  where
  853.  
  854.  
  855.  
  856.                              Release 2.1 (Protocol 2.1)                 13
  857.  
  858.  
  859.  
  860.  
  861.  
  862.          XFIG(1)                                                   XFIG(1)
  863.  
  864.  
  865.                        desired, click the _l_e_f_t to place  it  if  the  _l_e_f_t
  866.                        button  was used to start the move (unconstrained),
  867.                        or the _m_i_d_d_l_e button (constrained) if  that  button
  868.                        was used.
  869.  
  870.                 _M_O_V_E   Move  object.   Click the _l_e_f_t (unconstrained move)
  871.                        or _m_i_d_d_l_e (constrained move) button on  any  corner
  872.                        marker  of  the  object  to be moved.  The horizon-
  873.                        tal/vertical constrained movement  (_m_i_d_d_l_e  button)
  874.                        works exactly as described for _M_O_V_E _P_O_I_N_T.
  875.  
  876.                 _A_D_D _P_O_I_N_T_S
  877.                        Add  points to _P_O_L_Y_L_I_N_E, _P_O_L_Y_G_O_N, _S_P_L_I_N_E, or _C_L_O_S_E_D
  878.                        _S_P_L_I_N_E objects (points of a _B_O_X can not be added or
  879.                        deleted).  Note that a _R_E_G_U_L_A_R _P_O_L_Y_G_O_N is really an
  880.                        ordinary _P_O_L_Y_G_O_N, so adding points to  this  object
  881.                        is allowed and does NOT keep the polygon regular.
  882.  
  883.                 _C_O_P_Y _/ _C_U_T _T_O _C_U_T _B_U_F_F_E_R
  884.                        Copy  object  to  canvas  or cut buffer.  Click the
  885.                        _l_e_f_t (unconstrained copy)  or  _m_i_d_d_l_e  (constrained
  886.                        copy)  button on any corner marker of the object to
  887.                        be copied (for _C_I_R_C_L_E and  _E_L_L_I_P_S_E  objects,  mouse
  888.                        may  also be clicked on their circumferences).  The
  889.                        object will be duplicated and then moved exactly as
  890.                        in  _M_O_V_E.   If  the  _r_i_g_h_t  button is clicked on an
  891.                        object, that object is copied to the cut buffer for
  892.                        pasting into this or another figure.  The file used
  893.                        for the cut buffer is called ..xxffiigg  in  the  user's
  894.                        $$HHOOMMEE  directory.  This allows a user to run two or
  895.                        more xfig processes and cut/paste  objects  between
  896.                        them.   If  there is no $$HHOOMMEE, a file is created in
  897.                        //ttmmpp, called xxffiigg_P_I_D where _P_I_D is the xfig  process
  898.                        ID.
  899.  
  900.                 _D_E_L_E_T_E _P_O_I_N_T_S
  901.                        Delete  points  from  _P_O_L_Y_L_I_N_E, _P_O_L_Y_G_O_N, _S_P_L_I_N_E, or
  902.                        _C_L_O_S_E_D _S_P_L_I_N_E.  Objects (points of a _B_O_X or _A_R_C_-_B_O_X
  903.                        can  not be added or deleted).  Note that a _R_E_G_U_L_A_R
  904.                        _P_O_L_Y_G_O_N is really an ordinary _P_O_L_Y_G_O_N, so  deleting
  905.                        points  from  this  object  is allowed and does NOT
  906.                        keep the polygon regular.
  907.  
  908.                 _D_E_L_E_T_E Click the _l_e_f_t button on an object  to  delete  the
  909.                        object.   Delete a _r_e_g_i_o_n of the canvas by clicking
  910.                        the _m_i_d_d_l_e button and dragging the mouse to  define
  911.                        an  area  of objects to delete.  Clicking the _r_i_g_h_t
  912.                        button on an object will copy the object to the cut
  913.                        buffer (see _C_O_P_Y_/_C_U_T _T_O _C_U_T _B_U_F_F_E_R above).
  914.  
  915.                 _E_D_I_T _O_B_J_E_C_T
  916.                        Edit  settings  for  an existing object.  Click the
  917.                        _l_e_f_t button on the object and a  pop-up  menu  will
  918.                        appear  showing  existing  settings for the object.
  919.  
  920.  
  921.  
  922.                              Release 2.1 (Protocol 2.1)                 14
  923.  
  924.  
  925.  
  926.  
  927.  
  928.          XFIG(1)                                                   XFIG(1)
  929.  
  930.  
  931.                        Some of the menu entries may be changed  by  typing
  932.                        new  values  in  the appropriate windows. These are
  933.                        editable AsciiTextWidgets and allow cut and  paste.
  934.                        Others  pop  up a sub-menu of multiple choices when
  935.                        pressed and held.  Press the "done" button to apply
  936.                        the  changes  to  the object and finish.  Press the
  937.                        "apply" button to apply the changes  but  keep  the
  938.                        menu  up  for  further changes.  Press the "cancel"
  939.                        button to cancel the changes and pop down the menu.
  940.  
  941.                        The  following  table shows which settings are used
  942.                        for the different objects.
  943.  
  944.                        center,box; C | C | 1 C | 1 C | 1 C | 1 C | 1 C | 1
  945.                        C | 1 C | 1 C 1   S 1   S ^ | C | 1 C | 1 C | 1 C |
  946.                        1 C | 1 C | 1 C | 1 C | 1 C 1   C 1   C L | C | 1 C
  947.                        | 1 C | 1 C | 1 C | 1 C | 1 C | 1 C | 1 C 1 | C 1 |
  948.                        C.     Object    |-    Angle   Area Line Line Box  |=
  949.                        Depth   *                    Color   Radius    Text
  950.                                  Fill Width     Style     Curve                    Font Just.     Size
  951.                        =      Arc       \/   \/   \/        \/   \/      _
  952.                        Arc-Box        \/   \/   \/   \/   \/   \/        _
  953.                        Circle    \/   \/   \/   \/        \/   \/   \/   _
  954.                        Ellipse   \/   \/   \/   \/        \/   \/   \/   _
  955.                        EPS                           \/   \/  _ Box, Line,
  956.                        Polygon,
  957.                        Spline          \/   \/   \/        \/   \/       _
  958.                        Text \/                       \/   \/        \/   \/   \/
  959.  
  960.                        |- The angle may be set, but the object will only be
  961.                        rotated on Postscript output.  The angle  may  only
  962.                        be set with the popup edit menu.
  963.  
  964.                        |=  The  depth  defines  how overlapping objects are
  965.                        displayed. Objects with a greater depth  value  are
  966.                        obstructed  by  objects  with  smaller depth value.
  967.                        This may only be changed in the popup edit menu.
  968.  
  969.                        *  Although the color of objects is  not  yet  sup-
  970.                        ported  by  xfig  or any of the output translators,
  971.                        the color value (integer) may be edited in  objects
  972.                        using the popup edit menu.
  973.  
  974.                 _U_P_D_A_T_E By  pressing the _l_e_f_t button on an object, the cur-
  975.                        rent  settings  for  the  indicator  buttons  (line
  976.                        width,  line style, area fill etc.) are copied into
  977.                        that object.  If the _m_i_d_d_l_e button is clicked on an
  978.                        object,  the settings in the object are copied into
  979.                        the indicator button settings.  Thus, one may  copy
  980.                        attributes of one object to another.  The _d_e_p_t_h and
  981.                        _c_o_l_o_r  attributes  are  not  copied  when  updating
  982.                        objects.
  983.  
  984.  
  985.  
  986.  
  987.  
  988.                              Release 2.1 (Protocol 2.1)                 15
  989.  
  990.  
  991.  
  992.  
  993.  
  994.          XFIG(1)                                                   XFIG(1)
  995.  
  996.  
  997.                 _F_L_I_P _V_E_R_T_I_C_A_L_L_Y
  998.                        Flip  the  object up/down (_l_e_f_t button) or copy the
  999.                        object and flip it (_m_i_d_d_l_e button). Point  to  part
  1000.                        of  the object, click the appropriate button.  That
  1001.                        object will be flipped vertically about that point.
  1002.  
  1003.                 _F_L_I_P _H_O_R_I_Z_O_N_T_A_L_L_Y
  1004.                        Flip  the  object  left/right (_l_e_f_t button) or copy
  1005.                        the object and flip it (_m_i_d_d_l_e  button).  Point  to
  1006.                        part  of  the object, click the appropriate button.
  1007.                        That object will be flipped horizontally about that
  1008.                        point.
  1009.  
  1010.                 _R_O_T_A_T_E _C_L_O_C_K_W_I_S_E
  1011.                        Rotate  the object (_l_e_f_t button) or copy and rotate
  1012.                        it (_m_i_d_d_l_e button) -N degrees (clockwise), where  N
  1013.                        is the amount set in the rotation indicator button.
  1014.                        The object is rotated about the chosen point.   Not
  1015.                        all  objects  can  be  rotated,  and not all can be
  1016.                        rotated at arbitrary  angles.   For  example,  _B_O_X,
  1017.                        _A_R_C_-_B_O_X and _E_P_S objects may only be rotated by mul-
  1018.                        tiples of 90 degrees, and _T_E_X_T objects may  not  be
  1019.                        rotated  at all.  If a _C_O_M_P_O_U_N_D object contains any
  1020.                        _T_E_X_T objects, the texts are moved but not  rotated.
  1021.  
  1022.                 _R_O_T_A_T_E _C_O_U_N_T_E_R_-_C_L_O_C_K_W_I_S_E
  1023.                        Rotate  the  object  (_l_e_f_t  button) or copy (_m_i_d_d_l_e
  1024.                        button) +N degrees (counter-clockwise), where N  is
  1025.                        the  amount  set  in the rotation indicator button.
  1026.                        The object is rotated about the chosen point.
  1027.  
  1028.                 _S_P_L_I_N_E _<_-_> _P_O_L_Y_L_I_N_E
  1029.                        Turn _P_O_L_Y_G_O_N  into  a  _C_L_O_S_E_D  _I_N_T_E_R_P_O_L_A_T_E_D  _S_P_L_I_N_E
  1030.                        object, or turn _P_O_L_Y_L_I_N_E into a _I_N_T_E_R_P_O_L_A_T_E_D _S_P_L_I_N_E
  1031.                        object.
  1032.  
  1033.                 _A_D_D_/_D_E_L_E_T_E _A_R_R_O_W_S
  1034.                        Add or delete  arrow  heads  of  _A_R_C,  _P_O_L_Y_L_I_N_E  or
  1035.                        _S_P_L_I_N_E  objects.  Add an arrow head by clicking the
  1036.                        _l_e_f_t button on the endpoint of the object.   Delete
  1037.                        an arrow head by clicking _m_i_d_d_l_e button on the end-
  1038.                        point or arrow head.
  1039.  
  1040.          PPAANNNNIINNGG
  1041.                 The figure may be panned by clicking the left,  middle  or
  1042.                 right  mouse button in the rulers.  Clicking the _l_e_f_t but-
  1043.                 ton in the top ruler will pan the image to left the by 1/2
  1044.                 inch  (1cm  in  metric  mode),  adjusted  for zoom factor.
  1045.                 Clicking the _r_i_g_h_t button in the top ruler  will  pan  the
  1046.                 image  right  by the same amount.  By pressing and _h_o_l_d_i_n_g
  1047.                 the _m_i_d_d_l_e button the user  may  drag  the  ruler  by  the
  1048.                 amount desired, thus panning the image by that amount.
  1049.  
  1050.                 The  figure  is  panned  up  and  down  in the same way by
  1051.  
  1052.  
  1053.  
  1054.                              Release 2.1 (Protocol 2.1)                 16
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.          XFIG(1)                                                   XFIG(1)
  1061.  
  1062.  
  1063.                 clicking the mouse in the ruler on the right of  the  can-
  1064.                 vas.   Also,  the figure can be returned to it's origin by
  1065.                 clicking the left mouse button in the unit's box.
  1066.  
  1067.                 The arrow keys may also be used to pan the image  and  the
  1068.                 home key to return the figure to the origin.
  1069.  
  1070.  
  1071.          XX DDEEFFAAUULLTTSS
  1072.                 The   overall  widget  name(Class)  is  xfig(Fig).   These
  1073.                 resources correspond to the command line arguments: L L  L
  1074.                 L  L.   Name Class     Type Default   Command-line equiva-
  1075.                 lent   _   justify   Justify     boolean   false     -left
  1076.                 (false)    and    -right    (true)   landscape Orientation
  1077.                    boolean   true -Landscape         and         -Portrait
  1078.                 pwidth    Width     integer   10(8)     -pwidth
  1079.                 pheight   Height    integer   8(9.5)    -pheight
  1080.                 trackCursor    Track     boolean   on   -track         and
  1081.                 -notrack  inches    Inches    boolean   true T{   -inches,
  1082.                 -imperial,      -centimeters      and      -metric      T}
  1083.                 reverseVideo   ReverseVideo   boolean   off  -inverse
  1084.                 debug     Debug     boolean   off  -debug
  1085.                 normalFont     NormalFont     string    fixed     -normal
  1086.                 boldFont  ButtonFont     string    8x13bold  -bold
  1087.                 startfontsize  StartFontSize  integer   12   -startfont-
  1088.                 size
  1089.                 showallbuttons ShowAllButtons boolean   false     -showall-
  1090.                 buttons
  1091.                 internalborderwidth InternalBorderWidth integer   1    -inter-
  1092.                 nalBW
  1093.  
  1094.          WWIIDDGGEETT TTRREEEE
  1095.                 Below  is  the widget structure of _x_f_i_g.  The widget class
  1096.                 name is given first, followed by the widget instance name.
  1097.  
  1098.                 Fig  xfig
  1099.                      Form  form
  1100.                           Form  commands
  1101.                           Label  message
  1102.                                Command  button (one for each of the 8 buttons)
  1103.                           Label  mouse_panel
  1104.                           Box  mode_panel
  1105.                                Label  label
  1106.                                Command  button (one for each of the 16 drawing mode buttons)
  1107.                                Label  label
  1108.                                Command  button (one for each of the 18 editing mode buttons)
  1109.                           Label  topruler
  1110.                           Label  canvas
  1111.                           Label  unitbox
  1112.                           Label  sideruler
  1113.                           Box  ind_panel
  1114.                                Command  button (one for each of the 17 indicator buttons)
  1115.                           TransientShell  xfig: ps font menu
  1116.                                Box  menu
  1117.  
  1118.  
  1119.  
  1120.                              Release 2.1 (Protocol 2.1)                 17
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.          XFIG(1)                                                   XFIG(1)
  1127.  
  1128.  
  1129.                                     Form  buttons
  1130.                                          Command  cancel
  1131.                                          Command  use latex fonts
  1132.                                     Command  pane (one for each of the 35 Postscript font panes)
  1133.                           TransientShell  xfig: latex font menu
  1134.                                Box  menu
  1135.                                     Form  buttons
  1136.                                          Command  cancel
  1137.                                          Command  use postscript fonts
  1138.                                     Command  pane (one for each of the 6 LaTeX font panes)
  1139.                      TransientShell  xfig: file menu
  1140.                           Form  file_panel
  1141.                                Label  dir label
  1142.                                Text  directory
  1143.                                Label  file label
  1144.                                Text  file
  1145.                                Label  file status
  1146.                                Command  cancel
  1147.                                Command  save
  1148.                                Command  load
  1149.                                Command  merge
  1150.                      TransientShell  xfig: export menu
  1151.                           Form  export_panel
  1152.                                Label  mag label
  1153.                                Text  magnification
  1154.                                Label  orient label
  1155.                                MenuButton  landscape
  1156.                                     SimpleMenu  menu
  1157.                                          SmeBSB  portrait
  1158.                                          SmeBSB  landscape
  1159.                                Label  lang label
  1160.                                MenuButton  ps
  1161.                                     SimpleMenu  menu
  1162.                                          SmeBSB  box
  1163.                                          SmeBSB  epic
  1164.                                          SmeBSB  eepic
  1165.                                          SmeBSB  eepicemu
  1166.                                          SmeBSB  latex
  1167.                                          SmeBSB  null
  1168.                                          SmeBSB  pic
  1169.                                          SmeBSB  pictex
  1170.                                          SmeBSB  ps
  1171.                                          SmeBSB  pstex
  1172.                                          SmeBSB  pstex_t
  1173.                                          SmeBSB  textyl
  1174.                                          SmeBSB  tpic
  1175.                                          SmeBSB  Xbitmap
  1176.                                Label  file label
  1177.                                Label  file label
  1178.                                Label  file label
  1179.                                Text  file
  1180.                                Command  cancel
  1181.                                Command  export
  1182.                      TransientShell  xfig: print menu
  1183.  
  1184.  
  1185.  
  1186.                              Release 2.1 (Protocol 2.1)                 18
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.          XFIG(1)                                                   XFIG(1)
  1193.  
  1194.  
  1195.                           Form  print_panel
  1196.                                Label  printer image
  1197.                                Label  mag label
  1198.                                Text  magnification
  1199.                                Label  orient label
  1200.                                MenuButton  landscape
  1201.                                     SimpleMenu  menu
  1202.                                          SmeBSB  portrait
  1203.                                          SmeBSB  landscape
  1204.                                Label  just label
  1205.                                MenuButton  flush left
  1206.                                     SimpleMenu  menu
  1207.                                          SmeBSB  flush left
  1208.                                          SmeBSB  centered
  1209.                                Label  dir label
  1210.                                Text  printer
  1211.                                Command  cancel
  1212.                                Command  print
  1213.  
  1214.                      NOTE:  The following is a _t_y_p_i_c_a_l popup edit panel (for _A_R_C_-_B_O_X)
  1215.                             The panel will be different for other objects.
  1216.  
  1217.                      TransientShell  xfig: edit panel
  1218.                           Form  form
  1219.                                Label  POLYLINE:ArcBox
  1220.                                Label  image
  1221.                                Command  done
  1222.                                Command  apply
  1223.                                Command  cancel
  1224.                                Label
  1225.                                Label  Width =
  1226.                                Text  Width =
  1227.                                Label  Color =
  1228.                                Text  Color =
  1229.                                Label  Depth =
  1230.                                Text  Depth =
  1231.                                Label  Area fill =
  1232.                                MenuButton  No fill
  1233.                                     SimpleMenu  menu
  1234.                                          SmeBSB  No fill
  1235.                                          SmeBSB  Filled
  1236.                                Label  Fill density % =
  1237.                                Text  Fill density % =
  1238.                                Label  Line style =
  1239.                                MenuButton  Solid Line
  1240.                                     SimpleMenu  menu
  1241.                                          SmeBSB  Solid Line
  1242.                                          SmeBSB  Dashed Line
  1243.                                          SmeBSB  Dotted Line
  1244.                                Label  Dash length/Dot gap =
  1245.                                Text  Dash length/Dot gap =
  1246.                                Label  Top Left:
  1247.                                Label  Top Left:
  1248.                                Text  Top Left:
  1249.  
  1250.  
  1251.  
  1252.                              Release 2.1 (Protocol 2.1)                 19
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.          XFIG(1)                                                   XFIG(1)
  1259.  
  1260.  
  1261.                                Label  Top Left:
  1262.                                Text  Top Left:
  1263.                                Label  Bottom Right:
  1264.                                Label  Bottom Right:
  1265.                                Text  Bottom Right:
  1266.                                Label  Bottom Right:
  1267.                                Text  Bottom Right:
  1268.                                Label  Radius =
  1269.                                Text  Radius =
  1270.  
  1271.          BBUUGGSS aanndd RREESSTTRRIICCTTIIOONNSS
  1272.                 Please send bug reports, fixes, new features etc. to:
  1273.                 bvsmith@lbl.gov (Brian V. Smith)
  1274.  
  1275.                 Not all operations employ smart redrawing of objects which
  1276.                 are altered as a by product of  the  operation.   You  may
  1277.                 need to use _R_e_d_r_a_w in these cases.
  1278.  
  1279.                 Must  compile  xfig  with  --DDOOPPEENNWWIINN in order to make xfig
  1280.                 handle OpenWindows scalable fonts correctly.
  1281.  
  1282.                 There is a bug in OpenWindows 2.0 which relates to pixmaps
  1283.                 in  widgets.  You must compile xfig with the --DDOOPPEENNWWIINN__BBUUGG
  1284.                 option for this problem.
  1285.  
  1286.                 If the image is panned or the xfig  window  iconified  and
  1287.                 de-iconified during the middle of an operation (e.g. while
  1288.                 drawing a line), the picture will be distorted.  This  can
  1289.                 be corrected using _R_e_d_r_a_w after the operation is complete.
  1290.  
  1291.                 Rotated text and ellipses will be  displayed  horizontally
  1292.                 on  the screen.  They will be rotated only when printed on
  1293.                 Postscript output.
  1294.  
  1295.                 Corners of object scaled with point positioning in one  of
  1296.                 the  grid modes will not always fall on the grid line, but
  1297.                 to the closest pixel.
  1298.  
  1299.          SSEEEE AALLSSOO
  1300.                 Brian W. Kernighan _P_I_C _- _A _G_r_a_p_h_i_c_s _L_a_n_g_u_a_g_e _f_o_r  _T_y_p_e_s_e_t_-
  1301.                 _t_i_n_g _U_s_e_r _M_a_n_u_a_l
  1302.                 fig2dev(1) (_T_r_a_n_s_F_i_g package)
  1303.  
  1304.          AACCKKNNOOWWLLEEDDGGEEMMEENNTT
  1305.                 Many  thanks  goes  to  Professor  Donald  E.  Fussell who
  1306.                 inspired the creation of this tool.
  1307.  
  1308.          CCOOPPYYRRIIGGHHTT
  1309.                 Original Copyright (c) 1985 by Supoj Sutanthavibul
  1310.  
  1311.                 Permission to use, copy, modify, distribute, and sell this
  1312.                 software  and  its documentation for any purpose is hereby
  1313.                 granted without fee, provided  that  the  above  copyright
  1314.                 notice  appear  in all copies and that both that copyright
  1315.  
  1316.  
  1317.  
  1318.                              Release 2.1 (Protocol 2.1)                 20
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.          XFIG(1)                                                   XFIG(1)
  1325.  
  1326.  
  1327.                 notice and this permission  notice  appear  in  supporting
  1328.                 documentation,  and that the name of M.I.T. not be used in
  1329.                 advertising or publicity pertaining to distribution of the
  1330.                 software   without  specific,  written  prior  permission.
  1331.                 M.I.T. makes no representations about the  suitability  of
  1332.                 this  software  for  any  purpose.  It is provided "as is"
  1333.                 without express or implied warranty.
  1334.  
  1335.          AAUUTTHHOORRSS
  1336.                 Many people have contributed to _x_f_i_g.  Here is a  list  of
  1337.                 the people who have contributed the most:
  1338.  
  1339.                 Original author:
  1340.                 Supoj Sutanthavibul, University of Texas at Austin
  1341.  
  1342.                 The _L_a_T_e_X line drawing modes were contributed by:
  1343.                 Frank          Schmuck,         Cornell         University
  1344.                 (schmuck@svax.cs.cornell.edu)
  1345.  
  1346.                 Original X11 port by:
  1347.                 Ken Yap, Rochester (ken@cs.rochester.edu)
  1348.  
  1349.                 Variable window sizes, cleanup of  X11  port,  right  hand
  1350.                 side panel:
  1351.                 Dana Chee, Bellcore (dana@bellcore.com)
  1352.  
  1353.                 Cleanup of color port to X11 by:
  1354.                 John T. Kohl, MIT (jtkohl@athena.mit.edu)
  1355.  
  1356.                 Area  fill,  multiple line thicknesses, multiple fonts and
  1357.                 font sizes, bottom panel, line  style/thickness  modifica-
  1358.                 tion of objects by:
  1359.                 Brian V. Smith, Lawrence Berkeley Laboratory
  1360.                 (standard disclaimer applies)
  1361.                 (bvsmith@lbl.gov)
  1362.  
  1363.                 Popup change-object menu by:
  1364.                 Jon   Tombs  (jon%robots.oxford.ac.uk@nsfnet-relay.ac.uk),
  1365.                 and
  1366.                 Frank Schmuck (schmuck@svax.cs.cornell.edu)
  1367.  
  1368.                 Zooming and panning functions, shift key select  mechanism
  1369.                 by:
  1370.                 Dieter   Pellkofer  (dip@regent.e-technik.tu-muenchen.de),
  1371.                 and
  1372.                 Henning Spruth (hns@regent.e-technik.tu-muenchen.de)
  1373.  
  1374.                 Depth feature by:
  1375.                 Mike Lutz (mjl@cs.rit.edu)
  1376.  
  1377.                 VVeerrssiioonn 22..11 eexxtteennssiivvee mmooddiiffiiccaattiioonnss:: Indicator panel, file
  1378.                 menu  popup,  print menu popup, panning with rulers, mouse
  1379.                 function window, regular polygon,  rubberbanding  of  cir-
  1380.                 cles/ellipses,  filled  splines  on  canvas, dashed/dotted
  1381.  
  1382.  
  1383.  
  1384.                              Release 2.1 (Protocol 2.1)                 21
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.          XFIG(1)                                                   XFIG(1)
  1391.  
  1392.  
  1393.                 splines on canvas, update button, arbitrary angle rotation
  1394.                 of  objects,  alignment  in compound, object scaling, con-
  1395.                 strained copy/move, corner markers for  compound,  context
  1396.                 sensitive  corner  markers,  smarter redraw, undo for com-
  1397.                 pound and point move for boxes,  cancel  object  creation,
  1398.                 point  positioning to three resolutions, _T_r_a_n_s_F_i_g scalable
  1399.                 text, hidden text, special text, save of figure  on  crash
  1400.                 by:
  1401.  
  1402.                 Paul King (king@cs.uq.oz.au)
  1403.                 with help from:
  1404.                 Brian   V.   Smith   (bvsmith@lbl.gov)   and   Micah  Beck
  1405.                 (beck@cs.cornell.edu)
  1406.  
  1407.                 Encapsulated Postscript importing by:
  1408.                 Brian Boyter (root@fstc-chville.army.mil)
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.                              Release 2.1 (Protocol 2.1)                 22
  1451.  
  1452.  
  1453.